Typical computer systems, especially computer systems using graphical user interface (GUI) systems such as Microsoft WINDOWS, are optimized for accepting user input from one or more discrete input devices such as a keyboard for entering text, and a pointing device such as a mouse with one or more buttons for driving the user interface. The ubiquitous keyboard and mouse interface provides for fast creation and modification of documents, spreadsheets, database fields, drawings, photos and the like. However, there is a significant gap in the flexibility provided by the keyboard and mouse interface as compared with the non-computer (i.e., standard) pen and paper. With the standard pen and paper, a user edits a document, writes notes in a margin, and draws pictures and other shapes and the like. In some instances, a user may prefer to use a pen to mark-up a document rather than review the document onscreen because of the ability to freely make notes outside of the confines of the keyboard and mouse interface.
One aspect of stylus based computing is the use of touch input for use with stylus based computers. Some computing systems use a passive digitizer that responds to any type of contact (including a person's fingertip). Conventional computing systems do not provide programmatical access of touch input to control the behavior of systems. In short, developers need to write individualized code for each application to allow a user to use touch in place of mouse or keyboard input.